#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const int N=1e5+10;
int prime[N];
int v[N];
int a[N];
void get_prime(int n)
{
	int m=0;
	for(int i=2;i<=n;i++)
	{
		if(!v[i])
		{
			v[i]=i;
			prime[++m]=i;
		}
		for(int j=1;j<=m;j++)
		{
			if(prime[j]>v[i] || prime[j]>n/i) break;
			v[prime[j]*i]=prime[j];
		}
	}
}
int main()
{
	int t;
	cin>>t;
	//get_prime(4*1010);
	for(int i=1;i<=4010;i++)
	{
		if(i==1 || int(sqrt(i))*int(sqrt(i))==i)
		{
			a[i]=1;
		}
		a[i]+=a[i-1];
	}
	while(t--)
	{
		int n;
		cin>>n;
		cout<<a[n]<<endl;
	}

	return 0;
}

